SRE для клиентов
Дмитрий Масленников, «Т-Банк»
Терминология
- Client — приложение (Web, Mobile, Desktop), которое мы используем для доступа
- Frontend — бекенд, который получает запросы от Client
- Backend — общее название всех микросервисов
Ограничения клиентов
-
Web
- Нестабильная связь
- Ограничения браузера
-
Native Mobile
- Нестабильная связь
- Необходимость экономить батарейку
- Ограничения ОС
- Сложности с обновлениями
Идемпотентность
Идемпотентность для клиентского API важнее, чем для внутри датацентрового
Совместимость по API надо держать годами
Возможность общения с пользователем во время сбоев
Возможность удаленной очистки/переписывания кешей
Тестирование на сотрудниках
Перенос логики на бекенд — BFF
Тестирование работы при получении ошибок от бекенда
Умение блокировать часть траффика
Про конфигурирование приложений
Конфигурирование так же опасно, как и релиз!
Избегайте глобальных изменений в конфигурациях
На конфиги можно писать тесты
Долгосрочное планирование и ресемплинг метрик